package com.wangfugui.mybatisplus.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 短剧信息主表
 * </p>
 *
 * @author liyu
 * @since 2025-04-12
 */
@Getter
@Setter
@TableName("short_plays")
@ApiModel(value = "ShortPlays对象", description = "短剧信息主表")
public class ShortPlays implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("封面图URL")
    @TableField("cover_url")
    private String coverUrl;

    @ApiModelProperty("短剧标题")
    @TableField("title")
    private String title;

    @ApiModelProperty("副标题")
    @TableField("sub_title")
    private String subTitle;

    @ApiModelProperty("详细简介")
    @TableField("description")
    private String description;

    @ApiModelProperty("简短摘要")
    @TableField("summary")
    private String summary;

    @ApiModelProperty("绑定的分类ID")
    @TableField("category_id")
    private Long categoryId;

    @ApiModelProperty("绑定的标签ID(多个以逗号分隔)")
    @TableField("tag_ids")
    private String tagIds;

    @ApiModelProperty("总集数")
    @TableField("total_episodes")
    private Integer totalEpisodes;

    @ApiModelProperty("总时长(秒)")
    @TableField("duration")
    private Integer duration;

    @ApiModelProperty("观看次数")
    @TableField("view_count")
    private Long viewCount;

    @ApiModelProperty("点赞数")
    @TableField("like_count")
    private Long likeCount;

    @ApiModelProperty("收藏数")
    @TableField("favorite_count")
    private Long favoriteCount;

    @ApiModelProperty("分享数")
    @TableField("share_count")
    private Long shareCount;

    @ApiModelProperty("状态(0-下架,1-连载中,2-已完结)")
    @TableField("status")
    private Byte status;

    @ApiModelProperty("是否可被推荐(0-不可推荐,1-可推荐)")
    @TableField("is_recommended")
    private Byte isRecommended;

    @ApiModelProperty("推荐权重(越大越优先)")
    @TableField("recommend_weight")
    private Integer recommendWeight;

    @ApiModelProperty("发布日期")
    @TableField("release_date")
    private LocalDate releaseDate;

    @TableField("created_at")
    private LocalDateTime createdAt;

    @TableField("updated_at")
    private LocalDateTime updatedAt;
}
